feat(mobile): add channel list with relay integration - #315
Merged
Conversation
First real feature in the mobile app — validates end-to-end plumbing between Flutter, the relay REST API, and shared identity. - RelayClient: lightweight HTTP client with Bearer token and X-Pubkey (dev mode) auth support - Channel list with pull-to-refresh, 30s polling, loading/error/empty states - Profile avatar with presence indicator in app bar - Settings page for relay URL, API token, and dev pubkey config - Compile-time env config via --dart-define-from-file=.env.json - Bottom nav shell (Channels + Settings tabs) - Tests for model parsing, relay client, and widget states Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Collaborator
Author
kaalph
pushed a commit
to kaalph/buzz
that referenced
this pull request
Aug 21, 2026
# By Wes (12) and others # Via GitHub * main: (26 commits) feat(mobile): websocket streaming with real-time messaging (block#323) feat(markdown): add image/video preview, lightbox, and multi-image gallery (block#316) feat(composer): add rich text editor with formatting and mentions (block#310) feat(mobile): align design language with desktop and polish UI (block#321) fix: lock file registry (block#318) feat(mobile): QR/code pairing flow with security hardening (block#317) feat: Sprout Huddles — voice conversations with AI agents (block#299) feat(mobile): add channel list with relay integration (block#315) feat: add change member role in channel sidebar (block#313) feat(desktop): deterministic nested thread panels (block#308) fix: show private channels in channel browser when user is a member (block#311) Replace inline channel creation with dialog (block#312) chore: improve chat message layout to left-aligned design (block#309) Add edit dialog for managed agents with relay profile sync (block#277) fix(ci): build relay with optimized profile to fix flaky e2e tests (block#307) Update actions/checkout action to v6 (block#305) Update dependency @tanstack/react-query to v5.98.0 (block#304) Update dependency @playwright/test to v1.59.1 (block#303) Update react monorepo to v19.2.5 (block#302) feat(mobile): scaffold Flutter app with Riverpod & Catppuccin theme (block#306) ... # Conflicts: # desktop/src-tauri/Cargo.lock # desktop/src-tauri/Cargo.toml # desktop/src-tauri/src/lib.rs # desktop/src/features/channels/ui/ChannelScreen.tsx
kaalph
pushed a commit
to kaalph/buzz
that referenced
this pull request
Aug 21, 2026
# By Wes (12) and others # Via GitHub * main: (26 commits) feat(mobile): websocket streaming with real-time messaging (block#323) feat(markdown): add image/video preview, lightbox, and multi-image gallery (block#316) feat(composer): add rich text editor with formatting and mentions (block#310) feat(mobile): align design language with desktop and polish UI (block#321) fix: lock file registry (block#318) feat(mobile): QR/code pairing flow with security hardening (block#317) feat: Sprout Huddles — voice conversations with AI agents (block#299) feat(mobile): add channel list with relay integration (block#315) feat: add change member role in channel sidebar (block#313) feat(desktop): deterministic nested thread panels (block#308) fix: show private channels in channel browser when user is a member (block#311) Replace inline channel creation with dialog (block#312) chore: improve chat message layout to left-aligned design (block#309) Add edit dialog for managed agents with relay profile sync (block#277) fix(ci): build relay with optimized profile to fix flaky e2e tests (block#307) Update actions/checkout action to v6 (block#305) Update dependency @tanstack/react-query to v5.98.0 (block#304) Update dependency @playwright/test to v1.59.1 (block#303) Update react monorepo to v19.2.5 (block#302) feat(mobile): scaffold Flutter app with Riverpod & Catppuccin theme (block#306) ... # Conflicts: # desktop/src-tauri/Cargo.lock # desktop/src-tauri/Cargo.toml # desktop/src-tauri/src/lib.rs # desktop/src/features/channels/ui/ChannelScreen.tsx
BradGroux
pushed a commit
to BradGroux/buzz
that referenced
this pull request
Aug 23, 2026
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
First real feature in the mobile app — validates end-to-end plumbing between Flutter, the relay REST API, and shared identity.
http-based client with Bearer token andX-Pubkey(dev mode) auth--dart-define-from-file=.env.json— no hardcoded keysRunning locally
cp mobile/.env.json.example mobile/.env.json # Edit .env.json with your pubkey flutter run --dart-define-from-file=mobile/.env.jsonTest plan
flutter analyze— no issuesflutter test— 11 tests pass🤖 Generated with Claude Code